what factors affect diffusion